home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / dlaed0.z / dlaed0
Text File  |  1996-03-14  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. DDDDLLLLAAAAEEEEDDDD0000((((3333FFFF))))                                                          DDDDLLLLAAAAEEEEDDDD0000((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DLAED0 - compute all eigenvalues and corresponding eigenvectors of a
  10.      symmetric tridiagonal matrix using the divide and conquer method
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE DLAED0( ICOMPQ, QSIZ, N, D, E, Q, LDQ, QSTORE, LDQS, WORK,
  14.                         IWORK, INFO )
  15.  
  16.          INTEGER        ICOMPQ, INFO, LDQ, LDQS, N, QSIZ
  17.  
  18.          INTEGER        IWORK( * )
  19.  
  20.          DOUBLE         PRECISION D( * ), E( * ), Q( LDQ, * ), QSTORE( LDQS, *
  21.                         ), WORK( * )
  22.  
  23. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  24.      DLAED0 computes all eigenvalues and corresponding eigenvectors of a
  25.      symmetric tridiagonal matrix using the divide and conquer method.
  26.  
  27.  
  28. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  29.      ICOMPQ  (input) INTEGER
  30.              = 0:  Compute eigenvalues only.
  31.              = 1:  Compute eigenvectors of original dense symmetric matrix
  32.              also.  On entry, Q contains the orthogonal matrix used to reduce
  33.              the original matrix to tridiagonal form.  = 2:  Compute
  34.              eigenvalues and eigenvectors of tridiagonal matrix.
  35.  
  36.      QSIZ   (input) INTEGER
  37.             The dimension of the orthogonal matrix used to reduce the full
  38.             matrix to tridiagonal form.  QSIZ >= N if ICOMPQ = 1.
  39.  
  40.      N      (input) INTEGER
  41.             The dimension of the symmetric tridiagonal matrix.  N >= 0.
  42.  
  43.      D      (input/output) DOUBLE PRECISION array, dimension (N)
  44.             On entry, the main diagonal of the tridiagonal matrix.  On exit,
  45.             its eigenvalues.
  46.  
  47.      E      (input) DOUBLE PRECISION array, dimension (N-1)
  48.             The off-diagonal elements of the tridiagonal matrix.  On exit, E
  49.             has been destroyed.
  50.  
  51.      Q      (input/output) DOUBLE PRECISION array, dimension (LDQ, N)
  52.             On entry, Q must contain an N-by-N orthogonal matrix.  If ICOMPQ =
  53.             0    Q is not referenced.  If ICOMPQ = 1    On entry, Q is a
  54.             subset of the columns of the orthogonal matrix used to reduce the
  55.             full matrix to tridiagonal form corresponding to the subset of the
  56.             full matrix which is being decomposed at this time.  If ICOMPQ = 2
  57.             On entry, Q will be the identity matrix.  On exit, Q contains the
  58.             eigenvectors of the tridiagonal matrix.
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDLLLLAAAAEEEEDDDD0000((((3333FFFF))))                                                          DDDDLLLLAAAAEEEEDDDD0000((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      LDQ    (input) INTEGER
  75.             The leading dimension of the array Q.  If eigenvectors are
  76.             desired, then  LDQ >= max(1,N).  In any case,  LDQ >= 1.
  77.  
  78.             QSTORE (workspace) DOUBLE PRECISION array, dimension (LDQS, N)
  79.             Referenced only when ICOMPQ = 1.  Used to store parts of the
  80.             eigenvector matrix when the updating matrix multiplies take place.
  81.  
  82.      LDQS   (input) INTEGER
  83.             The leading dimension of the array QSTORE.  If ICOMPQ = 1, then
  84.             LDQS >= max(1,N).  In any case,  LDQS >= 1.
  85.  
  86.      WORK   (workspace) DOUBLE PRECISION array,
  87.             dimension (1 + 3*N + 2*N*lg N + 2*N**2) ( lg( N ) = smallest
  88.             integer k such that 2^k >= N )
  89.  
  90.      IWORK  (workspace) INTEGER array,
  91.             If ICOMPQ = 0 or 1, the dimension of IWORK must be at least 6 +
  92.             6*N + 5*N*lg N.  ( lg( N ) = smallest integer k such that 2^k >= N
  93.             ) If ICOMPQ = 2, the dimension of IWORK must be at least 2 + 5*N.
  94.  
  95.      INFO   (output) INTEGER
  96.             = 0:  successful exit.
  97.             < 0:  if INFO = -i, the i-th argument had an illegal value.
  98.             > 0:  The algorithm failed to compute an eigenvalue while working
  99.             on the submatrix lying in rows and columns INFO/(N+1) through
  100.             mod(INFO,N+1).
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.